package ma.moliere.presentation.controleur;

import java.io.Serializable;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

import org.apache.commons.collections.CollectionUtils;

import ma.moliere.domaine.IEleveDomaine;
import ma.moliere.presentation.modele.EleveModele;
import ma.moliere.transverse.vo.EleveAffiche;

public class GestionEleveControleur implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = -5401452298925610585L;
	
	private EleveModele modele;
	
	/**Injection pour l'accès au domaine.*/
	private IEleveDomaine eleveDomaine;

	public EleveModele getModele() {
		return modele;
	}

	public void setModele(EleveModele modele) {
		this.modele = modele;
	}

	public IEleveDomaine getEleveDomaine() {
		return eleveDomaine;
	}

	public void setEleveDomaine(IEleveDomaine eleveDomaine) {
		this.eleveDomaine = eleveDomaine;
	}
	
	public String afficherAccueil(){

		getModele().getEleves().clear();
				
		return "ECR_RECHERCHE_ELEVE";
	}
	public String lancerRechercherEleve(){
		getModele().getEleves().clear();
		List< EleveAffiche> eleves = eleveDomaine.rechercher(getModele().getCritere());
		if(CollectionUtils.isEmpty(eleves)){
			FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Aucun élève n'a été trouvé pour les critères saisis ", null);
			FacesContext context = FacesContext.getCurrentInstance();
			context.addMessage(null, facesMsg);
		}
		getModele().getEleves().addAll(eleves);
		return null;
	}
	

}
